package cn.net.ecode.modules.msg.task.impl;

import org.apache.commons.lang3.StringUtils;
import org.jsoup.Connection;
import org.jsoup.Connection.Method;
import org.jsoup.Jsoup;

import cn.net.ecode.common.config.Global;
import cn.net.ecode.common.service.BaseService;
import cn.net.ecode.common.utils.DateUtils;
import cn.net.ecode.modules.msg.entity.MessageRecord;
import cn.net.ecode.modules.msg.task.MsgSendService;

/**
 * 消息发送服务（短信实现）
 * @author ThinkGem
 * @version 2015-10-8
 */
public class SmsFhlxSendService extends BaseService implements MsgSendService {
	
	/**
	 * 短信发送（青岛烽火凌讯信息技术有限公司）
	 */
	public boolean sendMessage(MessageRecord mr) {
		
		try {
			
			Connection conn = Jsoup.connect(Global.getProperty("sms.send.fhlx.url"));
			conn.postDataCharset("GBK");
			conn.method(Method.POST);
			
			String data = Global.getProperty("sms.send.fhlx.data");
			for (String param : StringUtils.split(data, "&")){
				String[] ss = StringUtils.split(param, "=");
				conn.data(ss[0], ss[1]);
			}
			
			conn.data("seqid", "0");		// 短信识别ID，13位字母和数字组合，客户匹配回执、回复使用，如果不需要可以使用0
			conn.data("srcid", "0");		// 短信子码，客户匹配回复使用，如果不需要可以使用0
			conn.data("sendtime", DateUtils.getDateTime());	// 时间，格式为：xxxx-xx-xx xx:xx:xx
			
			conn.data("DesMobile", mr.getReceiver());				// 手机号
			conn.data("content", mr.getMessage().getContentText());	// 短信内容
			
			conn.execute();
			
			logger.info("发送短信： " + mr.getReceiver() + "(" + mr.getReceiverName() + "), 内容：" + mr.getMessage().getContentText());
			
			return true;
		} catch (Exception ex) {
			logger.error("发送短信异常：", ex);
		}
		
		return false;
	}

//	public static void main(String[] args) throws IOException {
//		
//		String url = "http://218.201.102.133:9911/jxserver/mt.action";
//		Connection conn = Jsoup.connect(url);
//		conn.postDataCharset("GBK");
//		conn.method(Method.POST);
//		
////		conn.data("OperID", "lsyc");				// OperID：接口用户名
////		conn.data("OperPass", "lizhi_0730");		// 接口密码
////		conn.data("localAddr", "114.215.148.246");	// 客户IP
////		conn.data("enterNameSize", "3");			// 签名长度（不含【】）
////		conn.data("customerCode", "34");			// 分配的企业子码
//		
//		conn.data("OperID", "ykdyqy");				// OperID：接口用户名
//		conn.data("OperPass", "ykdyqy");			// 接口密码
//		conn.data("localAddr", "219.147.28.115");	// 客户IP
//		conn.data("enterNameSize", "6");			// 签名长度（不含【】）
//		conn.data("customerCode", "98");			// 分配的企业子码
//		
//		conn.data("DesMobile", "18553130030");		// 手机号
//		conn.data("seqid", "0");		// 短信识别ID，13位字母和数字组合，客户匹配回执、回复使用，如果不需要可以使用0
//		conn.data("srcid", "0");		// 短信子码，客户匹配回复使用，如果不需要可以使用0
//		conn.data("sendtime", DateUtils.getDateTime());	// 时间，格式为：xxxx-xx-xx xx:xx:xx
//
//		conn.data("content", "这是一条测试信息！");			// 短信内容
//		
//		conn.execute();
//		
//		System.out.println("success");
//		
//	}

}
